#!/bin/sh

set -u

# The following symbols (past the first five) are taken from the public headers.
# A list of the latter should be available Makefile.sources/LIBDRM_RADEON_H_FILES

FUNCS=$($NM -D --format=bsd --defined-only ${1-.libs/libdrm_radeon.so} | awk '{print $3}'| while read func; do
( grep -q "^$func$" || echo $func )  <<EOF
__bss_start
_edata
_end
_fini
_init
radeon_bo_debug
radeon_bo_get_handle
radeon_bo_get_src_domain
radeon_bo_get_tiling
radeon_bo_is_busy
radeon_bo_is_referenced_by_cs
radeon_bo_is_static
radeon_bo_manager_gem_ctor
radeon_bo_manager_gem_dtor
radeon_bo_map
radeon_bo_open
radeon_bo_ref
radeon_bo_set_tiling
radeon_bo_unmap
radeon_bo_unref
radeon_bo_wait
radeon_cs_begin
radeon_cs_create
radeon_cs_destroy
radeon_cs_emit
radeon_cs_end
radeon_cs_erase
radeon_cs_get_id
radeon_cs_manager_gem_ctor
radeon_cs_manager_gem_dtor
radeon_cs_need_flush
radeon_cs_print
radeon_cs_set_limit
radeon_cs_space_add_persistent_bo
radeon_cs_space_check
radeon_cs_space_check_with_bo
radeon_cs_space_reset_bos
radeon_cs_space_set_flush
radeon_cs_write_reloc
radeon_gem_bo_open_prime
radeon_gem_get_kernel_name
radeon_gem_get_reloc_in_cs
radeon_gem_name_bo
radeon_gem_prime_share_bo
radeon_gem_set_domain
radeon_surface_best
radeon_surface_init
radeon_surface_manager_free
radeon_surface_manager_new
EOF
done)

test ! -n "$FUNCS" || echo $FUNCS
test ! -n "$FUNCS"
